package org.manon.json.annotation;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * @author <a href="mailto:jacques.militello@gmail.com">Jacques Militello</a>
 */
@Target(METHOD)
@Retention(RUNTIME)
public @interface JSonCollection {

	/**
	 * Implementation of the collection. If the return class of the getter is an
	 * interface, we will use the "collectionImpl" class to create an instance
	 * of this collection. <br/>
	 * Default values :
	 * <ul>
	 * <li>java.util.Set -> java.util.HashSet</li>
	 * <li>java.util.List -> java.util.ArrayList</li>
	 * </ul>
	 */
	Class<?> collectionImpl();

}